/**
 * 指定的tabel列表的行选构造器
 */
var TABLERowSelect=function(tableId)
{
	var rowCounts=0; //总行数
	var tabObj;
	var trObj;
	var desTableId;
	
	var sBgC="#FFEEDD"; //选中(单击)色调
	var tBgCs="#F0EEEE"; //间隔色调(单行,从0开始)
	var tBgCd="#FFFFFF"; //间隔色调(双行,从0开始)
	var mBgC="#DDEEFF"; //移动色调
	
	setDesTable=function(tableId){
		desTableId=tableId;
	}
	
	/**
	 * 初始化并给tr绑定事件(IE和FF用不同的绑定事件完成)
	 */
	init=function()
	{
		tabObj=document.getElementById(desTableId);
		if(tabObj==null)
			return;
			
		trObj=tabObj.getElementsByTagName("TR");
		rowCounts=trObj.length;
		for(var iRows=0;iRows<trObj.length;iRows++)
		{
			//for IE
			try{
				trObj[iRows].attachEvent("onmouseover",TrMouseOverIE(trObj[iRows]) );
				trObj[iRows].attachEvent("onmouseout",TrMouseOutIE(trObj[iRows]) );
				trObj[iRows].attachEvent("onclick",TrMouseClickIE(trObj[iRows]) );
				
				if( ( iRows % 2)==0 ){
					trObj[iRows].style.background=tBgCd;
					trObj[iRows].setAttribute("srcBg",tBgCd); //原始样式
					trObj[iRows].setAttribute("clickBg","");  //点击后样式
				}
				else{
					trObj[iRows].style.background=tBgCs;
					trObj[iRows].setAttribute("srcBg",tBgCs);
					trObj[iRows].setAttribute("clickBg","");
				}
			}catch(ex){}
			
			//for FF
			try
			{
				trObj[iRows].addEventListener("mouseover",TrMouseOverFF(trObj[iRows]),false );
				trObj[iRows].addEventListener("mouseout",TrMouseOutFF(trObj[iRows]),false );
				trObj[iRows].addEventListener("click",TrMouseClickFF(trObj[iRows]),false );
				if( ( iRows % 2)==0 ){
					trObj[iRows].setAttribute("bgcolor",tBgCd);
					trObj[iRows].setAttribute("srcBg",tBgCd); //原始样式
					trObj[iRows].setAttribute("clickBg","");  //点击后样式
				}
				else{
					trObj[iRows].setAttribute("bgcolor",tBgCs);
					trObj[iRows].setAttribute("srcBg",tBgCs);
					trObj[iRows].setAttribute("clickBg","");
				}
			}
			catch(ex){}
		}
	}
	
	/**
	 * 鼠标移入TR(For IE)
	 */
	var TrMouseOverIE=function(objSrc){
		return function(){
			objSrc.style.background=mBgC;
		}
	}
	
	/**
	* 鼠标移出TR(移出时，保持原有的间隔色彩或者 For IE)
	*/
	var TrMouseOutIE=function(objSrc){
		return function(){
			var clickBg=objSrc.getAttribute("clickBg");
			if(clickBg!=""){
				objSrc.style.background=clickBg;
			}
			else{
				objSrc.style.background=objSrc.getAttribute("srcBg");
			}
		}
	}
	
	/**
	 * TR的单击(For IE)
	 */
	var TrMouseClickIE=function(objSrc){
		return function(){
			//1:让行恢复原有颜色
			for(var iRows=0;iRows<rowCounts;iRows++){
				trObj[iRows].style.background=trObj[iRows].getAttribute("srcBg");
				trObj[iRows].setAttribute("clickBg",trObj[iRows].getAttribute("srcBg") );
			}
			
			//2:让当前选中的行设置行选颜色
			objSrc.style.background=sBgC;
			objSrc.setAttribute("clickBg",sBgC);
		}
	}
	
	/**
	 * 鼠标移入TR(For FF)
	 */
	var TrMouseOverFF=function(objSrc){
		return function(){
			objSrc.setAttribute("bgcolor",mBgC);
		}
	}
	
	/**
	* 鼠标移出TR(移出时，保持原有的间隔色彩或者 For FF)
	*/
	var TrMouseOutFF=function(objSrc){
		return function(){
			var clickBg=objSrc.getAttribute("clickBg");
			if(clickBg!=""){
				objSrc.setAttribute("bgcolor",clickBg);
			}
			else{
				objSrc.setAttribute("bgcolor",objSrc.getAttribute("srcBg") );
			}
		}
	}
	
	/**
	 * TR的单击(For FF)
	 */
	var TrMouseClickFF=function(objSrc){
		return function(){
			//1:让行恢复原有颜色
			for(var iRows=0;iRows<rowCounts;iRows++){
				trObj[iRows].setAttribute("bgcolor",trObj[iRows].getAttribute("srcBg") );
				trObj[iRows].setAttribute("clickBg",trObj[iRows].getAttribute("srcBg") );
			}
			
			//2:让当前选中的行设置行选颜色
			objSrc.setAttribute("bgcolor",sBgC);
			objSrc.setAttribute("clickBg",sBgC);
		}
	}
	
	setDesTable(tableId);
	init();
}